#pragma once
#include "ZControl.h"
#include "ZFont.h"
#include "ZTextDraw.h"


namespace ZuiLib
{



class ZText:public ZControl
{
public:
	ZText(void);
	~ZText(void);

	const char* GetClass() const;
	void* GetInterface(const char* pstrName);

	void SetTextStyle(uint32_t uStyle);
	uint32_t GetTextStyle() const;

	void SetTextColor(color_t dwTextColor);
	color_t GetTextColor() const;
	void SetDisabledTextColor(color_t dwTextColor);
	color_t GetDisabledTextColor() const;

	void SetFontName(const char* font);
	const char* GetFontName();

	RECT GetTextPadding() const;
	void SetTextPadding(RECT rc);

	SIZE EstimateSize(SIZE szAvailable);
	void DoEvent(TEventUI& event);
	void SetAttribute(const char* pstrName, const char* pstrValue);

	virtual ZString GetText() const;
	virtual void SetText(const char* pstrText);
	virtual void SetPos(RECT rc);
	void PaintText(ZRenderer* hDC);
protected:
	ZTextDrawPtr m_textDraw;
	color_t m_dwTextColor;
	color_t m_dwDisabledTextColor;
	RECT m_rcTextPadding;
};









}


